package com.hzlx.exception.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 生产异常记录对象 mes_production_anomalies
 * 
 * @author dk
 * @date 2025-06-30
 */
public class ProductionAnomalies extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 异常记录ID */
    private Long anomalyId;

    /** 工单ID */
    @Excel(name = "工单ID")
    private int workOrderId;

    /** 工序执行记录ID */
    @Excel(name = "工序执行记录ID")
    private Long operationRecordId;

    /** 设备ID */
    @Excel(name = "设备ID")
    private int equipmentId;

    /** 异常类型 */
    @Excel(name = "异常类型")
    private String anomalyType;

    /** 异常详细描述 */
    @Excel(name = "异常详细描述")
    private String description;

    /** 严重程度 */
    @Excel(name = "严重程度")
    private String severity;

    /** 上报人ID */
    @Excel(name = "上报人ID")
    private String reportedBy;

    /** 上报时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上报时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportTime;

    /** 处理状态 */
    @Excel(name = "处理状态")
    private String status;

    /** 解决方案 */
    @Excel(name = "解决方案")
    private String resolution;

    /** 处理人ID */
    @Excel(name = "处理人ID")
    private String resolvedBy;

    /** 解决时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "解决时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date resolvedTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    public void setAnomalyId(Long anomalyId) 
    {
        this.anomalyId = anomalyId;
    }

    public Long getAnomalyId() 
    {
        return anomalyId;
    }

    public int getWorkOrderId() {
        return workOrderId;
    }

    public void setWorkOrderId(int workOrderId) {
        this.workOrderId = workOrderId;
    }

    public int getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(int equipmentId) {
        this.equipmentId = equipmentId;
    }

    public void setOperationRecordId(Long operationRecordId)
    {
        this.operationRecordId = operationRecordId;
    }

    public Long getOperationRecordId() 
    {
        return operationRecordId;
    }



    public void setAnomalyType(String anomalyType) 
    {
        this.anomalyType = anomalyType;
    }

    public String getAnomalyType() 
    {
        return anomalyType;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setSeverity(String severity) 
    {
        this.severity = severity;
    }

    public String getSeverity() 
    {
        return severity;
    }

    public void setReportedBy(String reportedBy) 
    {
        this.reportedBy = reportedBy;
    }

    public String getReportedBy() 
    {
        return reportedBy;
    }

    public void setReportTime(Date reportTime) 
    {
        this.reportTime = reportTime;
    }

    public Date getReportTime() 
    {
        return reportTime;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setResolution(String resolution) 
    {
        this.resolution = resolution;
    }

    public String getResolution() 
    {
        return resolution;
    }

    public void setResolvedBy(String resolvedBy) 
    {
        this.resolvedBy = resolvedBy;
    }

    public String getResolvedBy() 
    {
        return resolvedBy;
    }

    public void setResolvedTime(Date resolvedTime) 
    {
        this.resolvedTime = resolvedTime;
    }

    public Date getResolvedTime() 
    {
        return resolvedTime;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("anomalyId", getAnomalyId())
            .append("workOrderId", getWorkOrderId())
            .append("operationRecordId", getOperationRecordId())
            .append("equipmentId", getEquipmentId())
            .append("anomalyType", getAnomalyType())
            .append("description", getDescription())
            .append("severity", getSeverity())
            .append("reportedBy", getReportedBy())
            .append("reportTime", getReportTime())
            .append("status", getStatus())
            .append("resolution", getResolution())
            .append("resolvedBy", getResolvedBy())
            .append("resolvedTime", getResolvedTime())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}
